{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "initial_id",
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": "逻辑回归 分类 两个特征 目标至少分为两类"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-26T09:11:56.665002Z",
     "start_time": "2025-06-26T09:11:56.585883Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import  numpy as np\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "# 第一步 准备训练数据集 根据特征标注结果  数据标注员\n",
    "# 0 代表不愿意打篮球 1 代表愿意打篮球\n",
    "feature = np.array([[-4,-5],[-7,-2],[-2,-4],[-5,-3],[2,3],[5,4],[1,7],[2,5]])\n",
    "label = np.array([0,0,0,0,1,1,1,1])\n",
    "# feature[:,0] feature[:,1]\n",
    "feature_X= np.array([-4,-7,-2,-5,2,5,1,2])\n",
    "feature_y = np.array([-5,-2,-4,-3,3,4,7,5])\n",
    "\n",
    "# w0+w1*x+w2*y = 0   ==》 y = kx+b\n",
    "# 逻辑分类 w0+w1*x+w2*y +w3*z = 0\n",
    "# 第二步 训练模型\n",
    "model=LogisticRegression()\n",
    "model.fit(feature,label)\n",
    "\n",
    "print(model.coef_,model.intercept_)\n",
    "# # w0+w1*x+w2*y = 0\n",
    "w0=model.intercept_[0]\n",
    "w1=model.coef_[0][0]\n",
    "w2=model.coef_[0][1]\n",
    "\n",
    "# 为了方便看分割线\n",
    "x_s=np.linspace(-10,10,20)\n",
    "y_s=-(w0+w1*x_s)/w2\n",
    "\n",
    "# 第三步 测试集\n",
    "# 第四步\n",
    "feature_p = np.array([[-7,-4],[-7.5,4],[5,6],[10,0]])\n",
    "r1=model.predict(feature_p)\n",
    "r2=model.predict_proba(feature_p)\n",
    "print(\"results: \",r1)\n",
    "print(r2)\n",
    "\n",
    "\n",
    "plt.xlabel(\"x_feature\")\n",
    "plt.ylabel(\"y_feature\")\n",
    "plt.title(\"logic\")\n",
    "plt.plot(x_s,y_s)\n",
    "plt.scatter(feature_X,feature_y)\n",
    "plt.show()\n"
   ],
   "id": "2b428300004137aa",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[0.47421299 0.59988127]] [0.18727862]\n",
      "results:  [0 0 1 1]\n",
      "[[0.99605651 0.00394349]\n",
      " [0.72507838 0.27492162]\n",
      " [0.00211279 0.99788721]\n",
      " [0.00717887 0.99282113]]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 6
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-27T01:48:36.582900Z",
     "start_time": "2025-06-27T01:48:36.491274Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import  numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "\n",
    "# 第一步 训练数据集\n",
    "df = pd.read_excel(\"/home/xieweig/文档/logic.xlsx\")\n",
    "df['bp']=df['basketBallPrefer'].map(lambda e : 1 if e == '是' else 0 )\n",
    "df['age_ex']=df['age']-25\n",
    "df['height_ex']=df['height']-175\n",
    "print(df)\n",
    "X_train=df[['age_ex','height_ex']]\n",
    "print(X_train)\n",
    "y_train=df['bp']\n",
    "print(y_train)\n",
    "# 第二步 构建模型\n",
    "model = LogisticRegression()\n",
    "model.fit(X_train,y_train)\n",
    "print(model.coef_,model.intercept_)\n",
    "w1,w2 = model.coef_[0]\n",
    "w0 = model.intercept_[0]\n",
    "print(w0,w1,w2)\n",
    "\n",
    "# 第三步 测试集测试\n",
    "# 第四步 预测点\n",
    "X_test=np.array([[26-25,180-175],[-4,10]])\n",
    "r=model.predict_proba(X_test)\n",
    "print('r',r)\n",
    "r2= model.predict(X_test)\n",
    "print(r2)\n",
    "\n",
    "\n",
    "# w1*x+w2*y+w0 = 0\n",
    "# 绘制分割辅助线\n",
    "x_s = np.linspace(-10,10,20)\n",
    "y_s = -(w1*x_s+w0)/w2\n",
    "\n",
    "plt.title(\"logic\")\n",
    "sns.scatterplot(df,x='age_ex',y='height_ex')\n",
    "plt.plot(x_s,y_s)\n",
    "\n",
    "plt.xlabel(\"age\")\n",
    "plt.ylabel(\"height\")\n",
    "plt.show()"
   ],
   "id": "6cd2bef01c8cbd1c",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "         name  age  height basketBallPrefer  bp  age_ex  height_ex\n",
      "0    zhangsan   21     178                是   1      -4          3\n",
      "1        lisi   24     180                是   1      -1          5\n",
      "2      wangwu   17     182                是   1      -8          7\n",
      "3   zhaoliuyi   30     168                否   0       5         -7\n",
      "4      lisier   32     165                否   0       7        -10\n",
      "5  wangtianyi   28     170                否   0       3         -5\n",
      "   age_ex  height_ex\n",
      "0      -4          3\n",
      "1      -1          5\n",
      "2      -8          7\n",
      "3       5         -7\n",
      "4       7        -10\n",
      "5       3         -5\n",
      "0    1\n",
      "1    1\n",
      "2    1\n",
      "3    0\n",
      "4    0\n",
      "5    0\n",
      "Name: bp, dtype: int64\n",
      "[[-0.33557088  0.52685764]] [0.61897504]\n",
      "0.6189750436238469 -0.335570875577945 0.5268576443823514\n",
      "r [[5.12858629e-02 9.48714137e-01]\n",
      " [7.24115703e-04 9.99275884e-01]]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/xieweig/anaconda3/lib/python3.11/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but LogisticRegression was fitted with feature names\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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iCAzM5OFCxdy1113sXbtWnx86vddaY6eT51xoozfvraLw/mnAOgc1IJpSZEkdw8xzeTt822YpJ1azN4fmL9H9ef+zN6j+rv8sS+5nWG49rcJLl68mCVLltjdZvXq1TXmJeXm5nLNNdewYMECRowYUa/7y8/PZ/jw4fz73//mhhtuaFDNjjL/80Ms/O9hAlt6M/3aaMYldMHHy8OpNYmIiDQ3Ln9mady4cYwaNcruNh07dqxxe82aNQQGBjJ8+PB63194eDgREREcO3as3vsWFZXiyOh5a1w40W39iQ3xI8DXm5MnTjtucBdhsUBISIDDf3auwuz9gfl7VH/uz+w9qr/LH/tSXD4sBQcHExwcXOftDcNg7dq1jBkzpkGfaisuLiYnJ4fw8PB672sYOPRA+nl7cmPviHMfdzXhE+CnHP2zczVm7w/M36P6c39m71H9NR7Tvaezbds2MjMz+fWvf33B9SNHjuTzzz8H4PTp0zz55JPs3r2bzMxMtm/fzpQpUwgKCuK6665ryrJFRETERbn8maX6Wr16NX379qVbt24XXJ+amkppaSkAnp6eHDp0iPfee4/S0lLCwsJISEhg/vz5+Pvra0JERETEhGFp3rx5dtf/+OOP1f/28/PjpZdeauySRERExI2Z7m04EREREUdSWBIRERGxQ2FJRERExA6FJRERERE7FJZERERE7FBYEhEREbFDYUlERETEDoUlERERETsUlkRERETsUFgSERERsUNhSURERMQOhSUREREROxSWREREROxQWBIRERGxQ2FJRERExA6FJRERERE7FJZERERE7FBYEhEREbFDYUlERETEDoUlERERETsUlkRERETsUFgSERERsUNhSURERMQOhSUREREROxSWREREROxQWBIRERGxQ2FJRERExA6FJRERERE7FJZERERE7FBYEhEREbFDYUlERETEDoUlERERETsUlkRERETsUFgSERERsUNhSURERMQOhSUREREROxSWREREROxQWBIRERGxQ2FJRERExA63CUtLly7l9ttvp0+fPlx11VUX3CY7O5vJkycTHx9PQkICTzzxBBUVFXbHraio4PHHHychIYH4+HgmT55Mbm5uY7QgIiJySZUeFoqrDNJPWymuMqj0sDi7pGbPy9kF1JXVamXkyJHEx8ezevXqWuurqqq49957CQoK4s033+TEiRM8/PDDGIbBo48+etFxZ8+ezVdffcX8+fMJDAxk7ty53HvvvaxduxZPT8/GbElERKSGMouFme/uY+ORouplidGhzB4dSwvDcGJlzZvbnFmaNm0ad999NzExMRdcv2nTJo4cOcLTTz9Nz549GTx4MI888girVq3i1KlTF9yntLSUNWvW8MgjjzB48GB69uzJ008/zaFDh9iyZUtjtiMiIlJDpYeFme/VDEoAGw8XMvP9/TrD5ERuc2bpUvbs2UN0dDRt27atXjZ06FAqKirYt28fAwcOrLXPvn37sFqtDBkypHpZ27ZtiY6OZvfu3SQmJtarBouDH8fnx3P0uK7E7D2avT8wf4/qz/25S4+lVlutoHTexsOFlFptBHvVbsJd+muoxuyvrmOaJiwVFhYSGhpaY1mbNm3w9vamsLDwovt4e3vTpk2bGstDQ0Mvuo89ISEB9d7HmeO6ErP3aPb+wPw9qj/35+o9ZqQX211/pqKKmHZBF13v6v1dLmf259SwtHjxYpYsWWJ3m9WrV9OrV686jWe5SES82PKLMRr4vnBRUSmOfEvZYjn34HD0uK7E7D2avT8wf4/qz/25S4+tfOzPk23p40lhYWmt5e7SX0M1Zn/nx74Up4alcePGMWrUKLvbdOzYsU5jhYaG8t1339VYVlJSgtVqJSQk5KL7WK1WSkpKapxdKioqom/fvnW6358yDBrlgdpY47oSs/do9v7A/D2qP/fn6j0GeHuQGB3KxsO139lIjA4lwNsDw3bxBly9v8vlzP6cOsE7ODiYbt262f3P19e3TmPFx8dz+PBh8vPzq5dt3rwZHx8f4uLiLrhPXFwc3t7ebN68uXpZfn4+hw8fblBYEhERaSgvm8Hs0bEkRtecUpIYHcq/RsfhZScoSeNymzlL2dnZlJSUkJ2dTVVVFQcPHgSgc+fOtGrViqFDh9K9e3f+8pe/8Je//IWSkhKefPJJbrvtNvz9/QHIy8vjrrvu4qmnnqJ3794EBARwyy238OSTTxIUFESbNm148skniYmJYfDgwc5sV0REmqEWhsFTY2IptdooLa8kwM+LAG8PvGw2Z5fWrLlNWFq0aBHvvvtu9e0xY8YA8Nprr5GQkICnpyfLli1j1qxZ/Pa3v8XPz48bb7yRhx9+uHofq9VKamoqZWVl1cv+9re/4eXlxYwZMygvL2fQoEHMnTtX11gSERGn8LIZBHlaCGrlfW6Bzig5ncVo6GxmqaWw0PETvENDAxw+risxe49m7w/M36P6c39m71H9Xf7Yl+I2F6UUERERcQaFJRERERE7FJZERERE7FBYEhEREbFDYUlERETEDoUlERERETsUlkRERETsUFgSERERsUNhSURERMQOt/m6E3dgsTTOeI4e15WYvUez9wfm71H9uT+z96j+Ln/sS26nrzsRERERuTi9DSciIiJih8KSiIiIiB0KSyIiIiJ2KCyJiIiI2KGwJCIiImKHwpKIiIiIHQpLIiIiInYoLImIiIjYobAkIiIiYofCkoiIiIgdCktOtnTpUm6//Xb69OnDVVdddcFtsrOzmTx5MvHx8SQkJPDEE09QUVFhd9yKigoef/xxEhISiI+PZ/LkyeTm5jZGC3W2fft2evToccH/vv/++4vu98gjj9Ta/rbbbmvCyutn+PDhtep95pln7O5jGAaLFy9m6NCh9O7dmzvvvJPDhw83UcV1l5mZyd/+9jeGDx9O7969ue6661i0aNElH4+ufgzfeOMNhg8fTq9evRg7diw7d+60u/2OHTsYO3YsvXr14tprr2XlypVNVGn9LFu2jFtuuYW+ffsyaNAg/vjHP5KSkmJ3n4s9T48ePdpEVdfP4sWLa9U6ZMgQu/u4y/GDC7+e9OjRg1mzZl1we1c/ft988w2TJ09m6NCh9OjRgy+++KLG+oa+Fn766aeMGjWKuLg4Ro0axeeff+7QuvVFuk5mtVoZOXIk8fHxrF69utb6qqoq7r33XoKCgnjzzTc5ceIEDz/8MIZh8Oijj1503NmzZ/PVV18xf/58AgMDmTt3Lvfeey9r167F09OzMVu6qL59+7Jp06YayxYuXMiWLVvo1auX3X0TExOZM2dO9W1vb+9GqdFRpk2bViMMtGzZ0u72L7zwAq+88gpz586la9euLF26lAkTJvDJJ5/g7+/f2OXWWUpKCoZh8Nhjj9GlSxcOHTrEo48+SllZGQ8//LDdfV31GK5bt445c+bwz3/+k379+vHWW28xadIkPv74YyIiImptn5GRwT333MOtt97K008/za5du5g1axbBwcGMGDHCCR1c3I4dOxg3bhy9evWiqqqK+fPnM3HiRD7++ONLPiZ//tgLDg5u7HIbLDo6mldeeaX6tr3XOHc6fgCrV6+mqqqq+vbhw4eZ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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 16
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-27T02:23:32.393108Z",
     "start_time": "2025-06-27T02:23:32.381443Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from sklearn.datasets import load_iris\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "all=load_iris(as_frame=True)\n",
    "# print(all.data)\n",
    "# print(all.target)\n",
    "# 分割训练集 和 测试集\n",
    "X_train,X_test,y_train,y_test=train_test_split(all.data,all.target,test_size=0.2,random_state=9999)\n",
    "print(X_train)\n",
    "print(y_train)\n",
    "print(X_test)\n",
    "print(y_test)\n"
   ],
   "id": "ec37651a54ec7d1f",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)\n",
      "100                6.3               3.3                6.0               2.5\n",
      "46                 5.1               3.8                1.6               0.2\n",
      "87                 6.3               2.3                4.4               1.3\n",
      "103                6.3               2.9                5.6               1.8\n",
      "1                  4.9               3.0                1.4               0.2\n",
      "..                 ...               ...                ...               ...\n",
      "109                7.2               3.6                6.1               2.5\n",
      "47                 4.6               3.2                1.4               0.2\n",
      "113                5.7               2.5                5.0               2.0\n",
      "126                6.2               2.8                4.8               1.8\n",
      "86                 6.7               3.1                4.7               1.5\n",
      "\n",
      "[120 rows x 4 columns]\n",
      "100    2\n",
      "46     0\n",
      "87     1\n",
      "103    2\n",
      "1      0\n",
      "      ..\n",
      "109    2\n",
      "47     0\n",
      "113    2\n",
      "126    2\n",
      "86     1\n",
      "Name: target, Length: 120, dtype: int64\n",
      "     sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)\n",
      "80                 5.5               2.4                3.8               1.1\n",
      "5                  5.4               3.9                1.7               0.4\n",
      "22                 4.6               3.6                1.0               0.2\n",
      "114                5.8               2.8                5.1               2.4\n",
      "31                 5.4               3.4                1.5               0.4\n",
      "34                 4.9               3.1                1.5               0.2\n",
      "84                 5.4               3.0                4.5               1.5\n",
      "7                  5.0               3.4                1.5               0.2\n",
      "21                 5.1               3.7                1.5               0.4\n",
      "36                 5.5               3.5                1.3               0.2\n",
      "137                6.4               3.1                5.5               1.8\n",
      "0                  5.1               3.5                1.4               0.2\n",
      "143                6.8               3.2                5.9               2.3\n",
      "60                 5.0               2.0                3.5               1.0\n",
      "88                 5.6               3.0                4.1               1.3\n",
      "132                6.4               2.8                5.6               2.2\n",
      "134                6.1               2.6                5.6               1.4\n",
      "104                6.5               3.0                5.8               2.2\n",
      "118                7.7               2.6                6.9               2.3\n",
      "82                 5.8               2.7                3.9               1.2\n",
      "111                6.4               2.7                5.3               1.9\n",
      "53                 5.5               2.3                4.0               1.3\n",
      "95                 5.7               3.0                4.2               1.2\n",
      "101                5.8               2.7                5.1               1.9\n",
      "52                 6.9               3.1                4.9               1.5\n",
      "105                7.6               3.0                6.6               2.1\n",
      "120                6.9               3.2                5.7               2.3\n",
      "108                6.7               2.5                5.8               1.8\n",
      "133                6.3               2.8                5.1               1.5\n",
      "102                7.1               3.0                5.9               2.1\n",
      "80     1\n",
      "5      0\n",
      "22     0\n",
      "114    2\n",
      "31     0\n",
      "34     0\n",
      "84     1\n",
      "7      0\n",
      "21     0\n",
      "36     0\n",
      "137    2\n",
      "0      0\n",
      "143    2\n",
      "60     1\n",
      "88     1\n",
      "132    2\n",
      "134    2\n",
      "104    2\n",
      "118    2\n",
      "82     1\n",
      "111    2\n",
      "53     1\n",
      "95     1\n",
      "101    2\n",
      "52     1\n",
      "105    2\n",
      "120    2\n",
      "108    2\n",
      "133    2\n",
      "102    2\n",
      "Name: target, dtype: int64\n"
     ]
    }
   ],
   "execution_count": 24
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
